Each ATPG-generated test pattern contains input and output values for a specific circuit to determine whether the circuit contains any defects. Specifically, ATPG generates its own internal and timing models of the circuit, and, based on the models, performs a simulation on a given set of input values in order to generate output values indicative of a defect-free circuit. During test mode, the input values are applied to the circuit and the resulting output values are compared with the output values in the test pattern in order to determine whether the tested circuit is defect-free.
Further, in order to validate that the output values in the generated test patterns are indicative of a defect-free circuit, the generated test patterns may be validated by another simulator (e.g., distinct from the simulator associated with ATPG) before being applied to the circuit. For example, a behavioral simulator (e.g., NC-Sim Simulator) may simulate the generated test patterns in order to verify that the ATPG-generated output values are equivalent to the output values predicted by the behavioral simulator. However, if the behavioral simulator does not generate the same output values as predicted by the ATPG simulator, the differing output values are designated as mis-compares. Mis-compares can occur for a variety of reasons. For example, the mis-compares can be caused by: (i) modeling issues (e.g., the simulation model created by ATPG is different from the model created by the behavioral simulator), (ii) timing issues (e.g., timing parameters are interpreted differently by ATPG and the behavioral simulator, or (iii) output values for either of the ATPG and the behavioral simulator was generated as a result of computation and not due to simulation. Further, mis-compares can be observed at a circuit output or one of the scan flops utilized during ATPG. If the mis-compares are not addressed, fully-functioning circuits might be screened as faulty when the ATPG-generated test patterns are applied to the circuits. As such, in order to correctly address the mis-compares, the “origins” of the mis-compares in the generated test patterns have to be determined. However, current solutions directed to determining the mis-compare origins are generally very tedious and can involve multiple simulations, wave-form debugging, circuit-tracing or result-matching from many different tools.
As such, there is a need for systems and methods of automatically diagnosing mis-compares detected during simulation of ATPG generated test patterns.